package store

import (
	"cgs-server/server/cgs/app/models"
	"cgs-server/server/cgs/app/models/dto"
	v1 "cgs-server/server/cgs/app/models/v1"
	"cgs-server/server/cgs/app/models/vo"
	"cgs-server/server/model"
)

type WorksheetGroupStore interface {
	Save(wg *models.WorksheetGroup, user *model.User, opts v1.CreateOptions) error

	Get(wg *models.WorksheetGroup, user *model.User, opts v1.GetOptions) (*vo.WorksheetGroup, error)

	Update(wg *dto.WorksheetGroup, user *model.User, opts v1.UpdateOptions) error

	Delete(wg *models.WorksheetGroup, user *model.User, opts v1.DeleteOptions) error

	List(wg *models.WorksheetGroup, user *model.User, opts v1.ListOptions) (*vo.WorksheetGroupList, error)
}
